package com.jinzecloud.reportapproval.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 检验报告
 *
 * @author æ­å°
 * @email 1971240051@qq.com
 * @date 2024-09-03 12:10:44
 */
@Data
@TableName("report")
public class ReportExportVo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 产品id
     */
    @TableId
    @ApiModelProperty(value = "产品id")
    private Integer prId;
    /**
     * 产品型号名称
     */
    @ApiModelProperty(value = "产品型号名称")
    private String prApplicationName;
    /**
     * 生产者
     */
    @ApiModelProperty(value = "生产者")
    private String prProducer;
    /**
     * 生产厂
     */
    @ApiModelProperty(value = "生产厂")
    private String prManufacturingPlant;
    /**
     * 鉴定类别
     */
    @ApiModelProperty(value = "鉴定类别")
    private String prIdentificationClass;
    /**
     * 产品信息id
     */
    @TableId
    @ApiModelProperty(value = "产品信息id")
    private Integer id;
    /**
     * 产品id
     */
    @ApiModelProperty(value = "产品id")
    private Integer productId;
    /**
     * 样品名称
     */
    @ApiModelProperty(value = "样品名称")
    private String productName;
    /**
     * 生产者名称
     */
    @ApiModelProperty(value = "生产者名称")
    private String producerName;
    /**
     * 样品型号
     */
    @ApiModelProperty(value = "样品型号")
    private String sampleType;
    /**
     * 注册地址
     */
    @ApiModelProperty(value = "注册地址")
    private String registeredAddress;
    /**
     * 样品数量
     */
    @ApiModelProperty(value = "样品数量")
    private Integer sampleNum;
    /**
     * 生产厂名称
     */
    @ApiModelProperty(value = "生产厂名称")
    private String manufactoryName;
    /**
     * 样品编号
     */
    @ApiModelProperty(value = "样品编号")
    private String sampleBernum;
    /**
     * 样品注册地址
     */
    @ApiModelProperty(value = "样品注册地址")
    private String registeredAddressSample;
    /**
     * 样品生产日期
     */
    @JsonFormat(pattern = "yyyy年MM月dd日", timezone = "GMT+8")
    @ApiModelProperty(value = "样品生产日期")
    private Date productionDate;
    /**
     * 样品等级
     */
    @ApiModelProperty(value = "样品等级")
    private String sampleGrade;
    /**
     * 样品取样方式
     */
    @ApiModelProperty(value = "样品取样方式")
        private String sampleAcqMethod;
    /**
     * 抽样基数
     */
    @ApiModelProperty(value = "抽样基数")
    private String samplingBasicNumber;
    /**
     * 抽样日期
     */
    @JsonFormat(pattern = "yyyy年MM月dd日", timezone = "GMT+8")
    @ApiModelProperty(value = "抽样日期")
    private Date samplingBasicDate;
    /**
     * 抽样地点
     */
    @ApiModelProperty(value = "抽样地点")
    private String samplingBasicPlace;
    /**
     * 到样时间
     */
    @JsonFormat(pattern = "yyyy年MM月dd日", timezone = "GMT+8")
    @ApiModelProperty(value = "到样时间")
    private Date arriveDate;
    /**
     * 检验时间
     */
    @JsonFormat(pattern = "yyyy年MM月dd日", timezone = "GMT+8")
    @ApiModelProperty(value = "检验时间")
    private Date provingTime;
    /**
     * 检验地点
     */
    @ApiModelProperty(value = "检验地点")
    private String checkGroundPoint;
    /**
     * 主要检测设备
     */
    @ApiModelProperty(value = "主要检测设备")
    private String mainTestingEquipment;
    /**
     * 检验依据
     */
    @ApiModelProperty(value = "检验依据")
    private String checkAccording;
    /**
     * 检验结论
     */
    @ApiModelProperty(value = "检验结论")
    private String checkConclusion;
    /**
     * 鉴定报告的签发日期
     */
    @JsonFormat(pattern = "yyyy年MM月dd日", timezone = "GMT+8")
    @ApiModelProperty(value = "鉴定报告的签发日期")
    private Date issueDate;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 样品图片(产品名称)
     */
    @ApiModelProperty(value = "样品图片(产品名称)")
    private String pictureProductName;
    /**
     * 样品图片(产品型号)
     */
    @ApiModelProperty(value = "样品图片(产品型号)")
    private String pictureModel;
    /**
     * 备注信息
     */
    @ApiModelProperty(value = "备注信息")
    private String remarks;
    /**
     * 报告编写人
     */
    @ApiModelProperty(value = "报告编写人")
    private String reportWriter;
    /**
     * 报告编写日期
     */
    @JsonFormat(pattern = "yyyy年MM月dd日", timezone = "GMT+8")
    @ApiModelProperty(value = "报告编写日期")
    private Date reportDate;
    /**
     * 关联试验条件
     */
    @TableField(exist = false)
    private List<ReportConditionVo> reportConditionVo;
    /**
     * 一致性检查结果
     */
    @TableField(exist = false)
    private List<ReportCheckResultVo> reportCheckResultVo;
    /**
     * 关联涵盖机型（或同单元机型）样品一致性检查结果
     */
    @TableField(exist = false)
    private List<ReportSampleConsResultsVo> reportSampleSonsResultsVo;
    /**
     * 样品安全性检验结果
     */
    @TableField(exist = false)
    private List<ReportSampleSafetyResultsVo> reportSampleSafetyResultsVo;
    /**
     * 涵盖机型（或同单元机型）样品安全性检验结果（若有）
     */
    @TableField(exist = false)
    private List<ReportConsResultsVo> reportConsResultsVo;
    /**
     * 样品适用性检验结果
     */
    @TableField(exist = false)
    private List<ReportSampleSuitResultsVo> reportSampleSuitResultsVo;
    /**
     * 涵盖机型（或同单元机型）样品适用性检验结果（若有）
     */
    @TableField(exist = false)
    private List<ReportSampleConsSuitResultsVo> reportSampleConsSuitResultsVo;
    /**
     * 可靠性检验结果
     */
    @TableField(exist = false)
    private List<ReportReliabilityResultVo> reportReliabilityResultVo;
    /**
     * 涵盖机型（或同单元机型）样品可靠性检验结果
     */
    @TableField(exist = false)
    private List<ReportReliabilityConsResultVo> reportReliabilityConsResultVo;
}
